using System;
using System.Threading.Tasks;
using Abp.Application.Services;
using Abp.Application.Services.Dto;
using Precise.Products.Dtos;
using Precise.Dto;

namespace Precise.Products
{
    public interface IGoodsAppService : IApplicationService 
    {
        Task<PagedResultDto<GetGoodsForView>> GetAll(GetAllGoodsInput input);

		Task<GetGoodsForEditOutput> GetGoodsForEdit(EntityDto<long> input);

		Task CreateOrEdit(CreateOrEditGoodsDto input);

		Task Delete(EntityDto<long> input);

		Task<FileDto> GetGoodsToExcel(GetAllGoodsForExcelInput input);

		
		Task<PagedResultDto<ProductLookupTableDto>> GetAllProductForLookupTable(GetAllForLookupTableInput input);
		
    }
}